A Two-Tier Sandbox Architecture to Enforce Modular Fine-Grained Security Policies for Untrusted JavaScript

نویسنده

  • Phu H. Phung
چکیده

Existing approaches to providing security for untrusted JavaScript include isolation of capabilities – a.k.a. sandboxing. Features of the JavaScript language conspire to make this nontrivial, and isolation normally requires complex filtering, transforming and wrapping untrusted code to restrict the code to a manageable subset. The latest JavaScript specification (ECMAScript 5) has been modified to make sandboxing easier and more widely applicable. This is illustrated in a sandboxing library recently developed by the Google Caja Team which allows untrusted code to interact with a restricted API. However, specifying and enforcing fine-grained policies within an API implementation is complex and inflexible, since each sandboxed application (there may be several within a single web page) may need an application-specific policy. In this paper, we present a two-tier architecture for sandboxed code which combines a baseline sandbox with a stateful fine-grained policy specified in an aspect-oriented programming style. The implementation of the fine-grained policy part is an adaptation of lightweight self-protecting JavaScript mechanism proposed by Phung at el (ASIACCS’09). This enforcement mechanism allows the policies can be defined in a modular way so that different policies can be specified and enforced for different untrusted applications. The mechanism is realized in JavaScript libraries so that it does not require a modified browser and untrusted code can be dynamically loaded and executed without run-time checking or transformation. We show the effectiveness of the mechanism by deploying some empirical case studies and analyzing their security features.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Lightweight Enforcement of Fine-Grained Security Policies for Untrusted Software

This thesis presents an innovative approach to implementing a security enforcement mechanism in the contexts of untrusted software systems, where a piece of code in a base system may come from an untrusted third party. The key point of the approach is that it is lightweight in the sense that it does not need an additional policy language or extra tool. Instead, the approach uses the aspectorien...

متن کامل

Security in Untrusted Code Environments: Missing Pieces of the Puzzle

Security enforcement mechanisms for controlling the execution of untrusted component code have evolved away from the strict sandbox confinement toward more flexible code access security. Although the added flexibility has enabled richer functionality and support for more fine-grained policies, component-based security architectures such as Java and .NET still fail to provide several essential f...

متن کامل

Flexible Access Control for JavaScript pdfauthor=Richards, Hammer, Zappa Nardelli, Jagannathan, Vitek

Providing security guarantees for systems built out of untrusted components requires the ability to define and enforce access control policies over untrusted code. In Web 2.0 applications, JavaScript code from different origins is often combined on a single page, leading to well-known vulnerabilities. We present a security infrastructure which allows users and content providers to specify acces...

متن کامل

XTOLS: Cross-tier Oracle Label Security

SELINKS allows cross-tier security enforcement between the application tier and the database tier by compiling policy functions and database queries into user-defined functions (UDFs) and SQL queries. Unfortunately, this kind of enforcement is restricted to the policies written within SELINKS framework; and therefore, it does not take into account the existing policies in the database. Furtherm...

متن کامل

Secure Cooperative Sharing of JavaScript, Browser, and Physical Resources

For better application-level controls on mashups, we advocate extending the Single Origin Policy and associated primitives to support a cooperative model that allows applications to express explicit sharing policies over browser, Javascript, and physical resources. First, we introduce an isolation model for content loading that is more complete than those of surveyed browser proposals. Second, ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011